home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / VGADOC4B.ZIP / VIDEO7.TXT < prev    next >
Text File  |  1995-09-29  |  20KB  |  501 lines

  1.   Video 7 Super VGA.
  2.   Bought by Headland Technologies in
  3.   Bought by SPEA Software AG in 1993.
  4.  
  5. The earliest V7/Headland boards use Chips&Technologies and Cirrus chips.
  6.  
  7.  
  8. G2 GC205   VRAM-I/VGA-16 boards ?. Also known as HT 208 rev 1-3 ??
  9. G2 GC208   V7 1024i boards. Also known as HT208. Split banks
  10. HT 209     V7VRAM-II boards
  11. HT 216     Color expansion. RAster ops.
  12. HT 216-32  Local bus version of HT216 ?
  13.  
  14.  
  15. Board:      Chip:                     Features:
  16.  
  17. VGA-16
  18. VRAM I                                Hardware Cursor
  19. VRAM II     HT-208 rev B,C or D       Split Bank
  20. VGA16       HT-216
  21. 1024i       HT-216
  22.  
  23.  
  24.  
  25. 100h (R/W?): Microchannel ID low
  26. bit 0-7  Card ID bit 0-7
  27.  
  28. 101h (R/W?): Microchannel ID high
  29. bit 0-7  Card ID bit 8-15
  30.  
  31. 102h (R/W): Alt Video Subsystem Enable
  32. bit 0  Enable Video if set. Must be armed by 3C4h index 0FCh bit 7
  33.        or in setup mode (46E8h bit4) to change.
  34.  
  35. 3C2h (W): Misc Output register
  36. bit 5  Bit 1 of Bank no.
  37. Note:  This register can be read at 3CCh.
  38.  
  39. 3C3h (R/W): Video Subsystem Enable
  40. bit 0  Enable Microchannel Video if set
  41.        Must be armed by 3C4h index 0FCh bit 7 to change.
  42.  
  43. 3C4h index  6  (R/W):  Extension Control
  44. bit   0  (R) Extensions enabled if set
  45. bit 0-7  (W) 0EAh Enables extensions, 0AEh disables.
  46.  
  47. 3C4h index  7  (R/W):  Reset Horizontal Character Counter
  48.  
  49. 3C4h index  Bh (R/W):  CA1 ??
  50. bit   0  If set the CA1 port is an output with the state  from bit 1,
  51.          if clear the port is an input. The state is returned in bit 1.
  52.       1  Data pin for CA1. Usually connected to 8/6 pin on DAC
  53. Note: Some sort of access to index 0D0h is needed to enable the port.
  54.  
  55. 3C4h index 80h (R/W):  Test
  56.  
  57. 3C4h index 81h (R/W):  Test
  58.  
  59. 3C4h index 82h (R/W):  Test
  60.  
  61. 3C4h index 83h (R/W):  Attribute Control Index
  62.  
  63. 3C4h index 8Eh W(R):  Chip Version
  64. bit 0-15  Chip version. Index 8Fh is the major version, and 8Eh is the minor.
  65.           Originally this was probably for two different chips.
  66.             8xxxh-FFFFh  VEGA VGA Chip
  67.                   70xxh  HT208 chip rev. 1,2 or 3 (VRAM I/VGA-16)
  68.                   7070h  G2 GC205
  69.                   714xh  HT208 chip rev A (VRAM II ?). Also G2 GC208.
  70.                   7151h  HT208 chip rev B (VRAM II)
  71.                   7152h  HT208 chip rev C or D (VRAM II)
  72.                   7760h  HT216 rev B or C
  73.                   7763h  HT216 rev B, C or D  (huh ??)
  74.                   7764h  HT216 rev E
  75.                   7765h  HT216 rev F
  76.  
  77. 3C4h index 94h (R/W):  Pointer Pattern Address
  78. bit 0-7  Start address of the Pointer Pattern. This value selects the 256 byte
  79.          block within the last 64k of the 256k block selected by index 0FFh
  80.          bits 5-6.
  81.          The cursor map consists of two 32x32 bitmaps. The first is the AND
  82.          mask and the second is the XOR mask.
  83.             AND     XOR
  84.              0       0      Black
  85.              0       1      Inverse screen data
  86.              1       0      Screen data
  87.              1       1      White
  88.  
  89. 3C4h index 9Ch (R/W):  Pointer Horizontal Position High
  90. bit 0-2  Bit 8-10 of the X co-ordinate of the Cursor
  91.  
  92. 3C4h index 9Dh (R/W):  Pointer Horizontal Position Low
  93. bit 0-7  Bit 0-7 of the X co-ordinate of the Cursor
  94.  
  95. 3C4h index 9Eh (R/W):  Pointer Vertical Position High
  96. bit 0-1  Bit 8-9 of the Y co-ordinate of the Cursor
  97.  
  98. 3C4h index 9Fh (R/W):  Pointer Vertical Position Low
  99. bit 0-7  Bit 0-7 of the Y co-ordinate of the Cursor
  100.  
  101. 3C4h index A0h (R/W):  GC Memory Latch 0
  102. bit 0-7  Plane 0 Memory Latch Data
  103.  
  104. 3C4h index A1h (R/W):  GC Memory Latch 1
  105. bit 0-7  Plane 1 Memory Latch Data
  106.  
  107. 3C4h index A2h (R/W):  GC Memory Latch 2
  108. bit 0-7  Plane 2 Memory Latch Data
  109.  
  110. 3C4h index A3h (R/W):  GC Memory Latch 3
  111. bit 0-7  Plane 3 Memory Latch Data
  112.  
  113. 3C4h index A4h (R/W):  Clock Select
  114. bit 2-4  Clock select bit 0-2. Bit 3 is in index F8h bit 0
  115.          This is activated when 3C2h is written. Actually 3C2h/3CCh bits 2-3
  116.          will override bits 2-3 of this register
  117.          HT208-A (in MHz) generates:
  118.            0: 25.175,   1: 48.6,    2: 22.9,    3: 0
  119.            4: 34,       5: 48.6,    6: 22.9,    7: 0
  120.            8: 25.175,   9: 28.322, 10: 22.9,   11: 0
  121.           12: 34,      13: 36,     14: 22.9,   15: 40
  122.          Another card gives (8-15 unknown):
  123.            0: 25.175,   1: 28.322,  2: 30.000,  3: 32.514
  124.            4: 34.000,   5: 36.000,  6: 38.000,  7: 40.000
  125.  
  126. 3C4h index A5h (R/W):  Cursor Attributes
  127. bit 0  Cursor blink enabled if clear
  128.     3  Text Cursor Mode is XOR if set, Replace if clear
  129.     7  Hardware Graphics Cursor Enabled if set
  130.  
  131. 3C4h index B3h (R/W):  Scratch RAM
  132. bit 0-7  Scratch
  133.  
  134. 3C4h index B4h (R):  Power On Reset 0                                  (HT216)
  135.  
  136. 3C4h index B5h (R):  Power On Reset 1                                  (HT216)
  137.  
  138. 3C4h index B6h (R):  Power On Reset 2                                  (HT216)
  139.  
  140. 3C4h index B7h (R):  Power On Reset 3                                  (HT216)
  141.  
  142. 3C4h index C0h (R/W):  Monochrome Lock
  143.  
  144. 3C4h index C1h (R/W):
  145. bit   0  Set to enable 8bit DAC rather than 6bit.
  146.  
  147. 3C4h index C8h (R/W):  Miscellaneous Control 2
  148. bit   0  Set to enable MOVSB operation ??                        (HT216 only?)
  149.       4  Set in Extended 256 color modes
  150.       6  Enable Linear Addressing if set
  151.  
  152. 3C4h index C9h (R/W):  Extended Linear Address Offset
  153. bit 0-3  Bits 20-23 of the Linear Address Offset
  154.  
  155. 3C4h index CAh (R/W):  Horizontal Overflow                             (HT216)
  156.  
  157. 3C4h index CBh (R/W):  Low Water Mark                                  (HT216)
  158.  
  159. 3C4h index CCh (R/W):  DM Function Control                             (HT216)
  160.  
  161. 3C4h index CDh (R/W):  Extended ALU Function Control                   (HT216)
  162. bit 0-1  Color Expansion mode:
  163.           0,2: VGA compatible mode
  164.             1: Packed pixel 8plane color expansion
  165.             3: Planar color expansion mode
  166.     2-3  Bit mask source. 0: Bitmask from 3CEh index 8
  167.            1: Bit mask from CPU byte, 2,3: Bit mask from 3C4h index F5h
  168.       5  If set RMW cycles are enabled.
  169.       6  If set enables Source to Destination alignment.
  170.       7  Set to Enable Raster Operations
  171.  
  172. 3C4h index CEh (R/W):  Extended ALU Function Select                    (HT216)
  173. bit 0-3  Raster Operation.
  174.              0: Set to 0  ...
  175.  
  176. 3C4h index CFh (R/W):  Extended Linear Address Offset High             (HT216)
  177. bit 0-7  Bits 24-31 of the Linear Address Offset
  178.  
  179. 3C4h index E0h (R/W):  Miscellaneous Control                   (HT208 rev A +)
  180. bit   0  Interlaced
  181.     5-6  Reserved
  182.       7  Enables Split Bank Mode if set(VRAM II or HT216 only)
  183.          On the HT208 rev A, split banks appears to cause index E8h to be the
  184.          read/write bank register for A000h-A7FFh and index E9h to be the
  185.          read/write bank register for A800h-AFFFh.
  186.  
  187. 3C4h index E1h (R/W):  Interlace Value
  188.  
  189. 3C4h index E2h (R/W):  Extended Character Width Enable
  190.  
  191. 3C4h index E3h (R/W):  High Water Mark
  192.  
  193. 3C4h index E8h (R/W):  Single/Write Bank Register              (HT208 rev A +)
  194. bit 0-7  Single/Write Bank in units of 4KB.
  195.          For 16color modes this is in units of 1KB.
  196.  
  197. 3C4h index E9h (R/W):  Read Bank Register                      (HT208 rev A +)
  198. bit 0-7  Read Bank in units of 4KB.
  199.          Only Active if Split mode enabled (3C4h index E0h bit 7 set)
  200.  
  201. 3C4h index EAh (W): Switch Strobe
  202. Note:  A write to this register copies the switch positions to
  203.        the Switch Readback Register (3C4h index F7h).
  204.  
  205. 3C4h index EBh (R/W):  Emulation Control
  206.  
  207. 3C4h index ECh (R/W):  Foreground Latch 0
  208. bit 0-7  Foreground Latch for plane 0. When in Dither Foreground mode
  209.          (3C4h index FEh bit 2-3 = 2) the data in this register
  210.          replaces the data written from the processor.
  211.  
  212. 3C4h index EDh (R/W):  Foreground Latch 1
  213. bit 0-7  Foreground Latch for plane 1.
  214.  
  215. 3C4h index EEh (R/W):  Foreground Latch 2
  216. bit 0-7  Foreground Latch for plane 2.
  217.  
  218. 3C4h index EFh (R/W):  Foreground Latch 3
  219. bit 0-7  Foreground Latch for plane 3.
  220.  
  221. 3C4h index F0h (R/W):  Fast Foreground Latch Load
  222. bit 0-7  The Foreground Latches (3C4h index ECh to EFh) for the four memory
  223.          planes can be loaded by writing to this register. The writes will
  224.          cycle through planes 0-3. A read will restart at plane 0.
  225.  
  226. 3C4h index F1h (R/W):  Fast Latch Load State
  227. bit 0-1  Background Latch Load State. Determines which of the four memory
  228.          latches will be loaded by a write to 3C4h index F2h. Each write to
  229.          index F2h will increment this value and each read from index F2h
  230.          will reset it to 0.
  231.     2-3  Unused
  232.     4-5  Foreground Latch Load State. Determines which of the four Foreground
  233.          latches (3C4h index ECh to EFh) will be loaded by the next write to
  234.          3C4h index F0h. Each write to index F0h will increment this value
  235.          and each read from index F0h will reset it to 0.
  236.     6-7  Unused
  237.  
  238. 3C4h index F2h (R/W):  Fast Background Latch Load
  239. bit 0-7  The Memory Data Latches for the four memory planes can be loaded by
  240.          writing to this register. The writes will cycle through planes 0-3.
  241.          A read will restart at plane 0.
  242.  
  243. 3C4h index F3h (R/W):  Masked Write Control   (Only with VRAM)
  244. bit   0  Enables Masked Writes if set
  245.       1  If set rotated CPU byte is used as WriteMask, else Masked Write Mask
  246.          register is used.
  247.  
  248. 3C4h index F4h (R/W):  Masked Write Mask      (Only with VRAM)
  249. bit 0-7  If Masked Writes enabled (3C4h index F3h bit 0 set)
  250.          Only the bits set here will be updated in Video memory.
  251.  
  252. 3C4h index F5h (R/W): Foreground/Background Pattern
  253. bit 0-7
  254.  
  255. 3C4h index F6h (R/W):  1MB RAM Bank Select
  256. bit 0-1  Write Bank no bit 2-3 if 256 color, bit 0-1 else.
  257.     2-3  Read Bank no bit 2-3 if 256 color, bit 0-1 else.
  258.     4-5  CRTC Bank (Address bit 16-17)
  259.       6  Display address Wraps Around at bank boundary if clear
  260.       7  Split Screen Wraps around at bank boundary if clear
  261.  
  262. 3C4h index F7h (R/W):  Switch Readback
  263. bit 0-7  Switch positions as read by the last write to the Switch
  264.          Strobe Register (3C4h index EAh)
  265.  
  266. 3C4h index F8h (R/W):  Extended Clock Control
  267. bit   0  Clock select bit 3. Bits 0-2 are in index A4h bits 2-4.
  268.     5-7  Clock Source: See index A4h bits 2-4.
  269. Note: depending on mode and other bits in this register other
  270.       values may be selected.
  271.  
  272. 3C4h index F9h (R/W):  Page Select
  273. bit   0  bit 16 of Video Memory Address. (Only needed if in a
  274.          256 color mode, and 3C4h index FCh bit 1-2 = 1).
  275.  
  276. 3C4h index FAh (R/W):  Extended Foreground Color
  277. bit 0-3  Foreground expansion color.
  278.          Bit 0 is written to plane 0 et cetera.
  279.  
  280. 3C4h index FBh (R/W):  Extended Background Color
  281. bit 0-3  Background expansion color
  282.          Bit 0 is written to plane 0 et cetera.
  283.  
  284. 3C4h index FCh (R/W):  Compatibility Control
  285. bit   0  Enable Extended Attribute functions if set
  286.          Extended attributes allows underlining using a mask
  287.          in plane 3 for each character.
  288.       1  256-Color 64K/128K paging Select. 128K pages if set, 64K pages else.
  289.          Only active if bit 2 set
  290.       2  256-Color Paging Enabled if set.
  291.     3-4  Reserved.
  292.       5  Enables sequential chain4 mode if set ??
  293.       6  Reserved.
  294.       7  If set allows enabling VGA via 102h bit 0 or 3C3h bit 0.
  295.  
  296. 3C4h index FDh (R/W):  Extended Timing Select
  297.  
  298. 3C4h index FEh (R/W):  Foreground/Background Control
  299. bit   0  Unused
  300.       1  Foreground/background source select
  301.          Source is CPU data if set, 3C4h index F5h else.
  302.     2-3  Foreground/background mode select
  303.            0  Set/Reset Output (Standard VGA) mode
  304.            1  Solid Color Expansion Mode
  305.               A monochrome bitmap is expanded to color.
  306.               For each bit of data written from the processor
  307.               a zero bit causes the background color (3C4h index FBh)
  308.               to be written in the corresponding pixel, and a 1 bit
  309.               causes the ForeGround color (3C4h index FAh) to be written.
  310.            2  Dithered ForeGround. The data from the processor is
  311.               replaced by data from four Foreground Latches (3C4h index
  312.               ECh to EFh). The normal VGA Read Latches function as normal.
  313.            3  Uses Background Latch (transparent).
  314.     4-7  Unused
  315.  
  316. 3C4h index FFh (R/W):  16 bit Interface Control
  317. bit   0  16 bit memory if set
  318.       1  16 bit I/O if set
  319.       2  Fast Write Enabled if set
  320.       3  16 bit ROM access if set
  321.       4  Enable bank selection (Access to memory >256K) if set.
  322.     5-6  Cursor Pattern Page Select
  323.          Select which 256k bank the cursor pattern is in.
  324.       7  (Read only) Card in 8 or 16 bit slot
  325.  
  326. 3d4h index 1Fh (R):  Identification register
  327. bit 0-7  Returns bit 0-7 of the Start Address High Register
  328.          (3d4h index 0Ch) XORed with 0EAh.
  329.  
  330. 3d4h index 22h (R):  Graphics Controller Data Latch
  331. bit 0-7  Data from one of 4 bit-planes selected through the
  332.          RMS field of the Read Map Select Register (3CEh index 4)
  333.  
  334. 3d4h index 24h (R):  Graphics Controller Data
  335. bit 0-4  Attribute Index. Same as 3C1 bit 0-4.
  336.       5  Palette source.  Same as 3C1h bit 5
  337.       7  Does the Attribute Controller point to Index or Data .
  338.  
  339. 3d4h index 30h-3Fh (W):  Clear Vertical Display
  340. bit   0  if set speeds up video memory access by increasing the
  341.          vertical Retrace Period.
  342.  
  343.  
  344. 46E8h (W):  ROM Map & Video Subsystem
  345. bit 0-2  Enable VGA PC/AT
  346.       3  Enable VGA PC/AT if set
  347.       4  Enter VGA Setup Mode if set
  348.          In Setup Mode only registers 102h, 3C3h and 46E8h
  349.          are active.
  350.  
  351.  
  352.     4BC4h,4BC5 used.
  353.  
  354.  
  355.   Bank Select:
  356.  
  357.     Two methods exists:
  358.  
  359.     All models can use method 1:
  360.       For 2 and 4 color modes bit 16 of the address is in 3C2h bit 5.
  361.  
  362.       For 16 color modes separate read and write banks can be selected
  363.       through 3C4h index F6h.
  364.  
  365.       For 256 color modes the bank fields in 3C4h index F6h select
  366.       bit 18&19 of the video memory address.
  367.       Bit 16 is selected through 3C4h index F9h bit 0.
  368.       Bit 17 is selected through Miscellaneous Output Register
  369.              (3C2h/3CCh bit 5).
  370.       Bit 16&17 are shared by read and write operations.
  371.  
  372.     For Version 4 (HT208-A) and above separate bank registers are available.
  373.     Both read and write banks exists.
  374.  
  375.  
  376.   ID Video 7 VGA Chip Set:
  377.  
  378.     vio($6F00);
  379.     if rp.bx=$5637 then
  380.     begin
  381.       vio($6F07);
  382.       SubVers:=(rdinx($3C4,$8F) shl 8) + rdinx($3C4,$8E);
  383.       case SubVers of
  384.      $8000..$FFFF:VEGA_VGA;
  385.      $7000..$70FF:HT208 version 1-3
  386.      $7140..$714F:HT208 rev A;
  387.             $7151:HT208 rev B
  388.             $7152:HT208 rev CD
  389.             $7760:HT216 rev BC
  390.             $7763:HT216 rev D
  391.             $7764:HT216 rev E
  392.             $7765:HT216 rev F
  393.       end;
  394.     end;
  395.  
  396.  
  397.   Video Modes:
  398.     40h  T   80   43  16
  399.     41h  T  132   25  16
  400.     42h  T  132   43  16
  401.     43h  T   80   60  16
  402.     44h  T  100   60  16
  403.     45h  T  132   28  16
  404.  
  405.     60h  G  752  410  16  PL4
  406.     61h  G  720  540  16  PL4
  407.     62h  G  800  600  16  PL4
  408.     63h  G 1024  768   2  PL1
  409.     64h  G 1024  768   4  PL2E
  410.     65h  G 1024  768  16  PL4
  411.     66h  G  640  400 256  P8    V1024 w/VRAM
  412.     67h  G  640  480 256  P8
  413.     68h  G  720  540 256  P8    VRAM only
  414.     69h  G  800  600 256  P8    VRAM only
  415.     6Ah  G 1024  768 256  P8
  416.     70h  G 1280 1024  16  PL4
  417.  
  418.  
  419.   BIOS extensions:
  420.  
  421. ----------106F00-----------------------------
  422. INT 10 - VIDEO - INSTALLATION CHECK (Video7 VGA,VEGA VGA)
  423.         AX = 6F00h
  424. Return: BX = 5637h ('V7') indicates Video7 VGA/VEGA VGA extensions are present
  425.            = 4850h ('HP') indicates HP Extended BIOS video functions present
  426. ----------106F01-----------------------------
  427. INT 10 - VIDEO - Get Monitor Info (Video7 VGA,VEGA VGA)
  428.         AX = 6F01h
  429. Return: AL = monitor type code (HP and VEGA VGA only) (values are for HP)
  430.               00h  non-HP card with ROM and possibly its own INT 10h driver
  431.               41h  MultiMode video display adapter
  432.               45h  standard monochrome display adapter
  433.               46h  standard color display adapter
  434.         AH = status register information
  435.              bit  0 = display enable
  436.                       0 = display enabled
  437.                       1 = vertical or horizontal retrace in progress
  438.              bit  1 = light pen flip flop set
  439.              bit  2 = light pen switch activated
  440.              bit  3 = vertical retrace if set
  441.              bit  4 = monitor resolution
  442.                       0 = high resolution (>200 lines)
  443.                       1 = low resolution (<=200 lines)
  444.              bit  5 = display type
  445.                       0 = color
  446.                       1 = monochrome
  447.              bits6,7= diagnostic bits
  448.         CL = current value of Extended Control register
  449.              (HP, and only if AL=41h)
  450. Note: bits 0-3 are the same as the EGA/VGA status register bits 0-3
  451. ----------106F02-----------------------------
  452. INT 10 - VIDEO - HP Vectra (Video7 ?) - Set Monitor Info
  453.         AX = 6F02h
  454.         BL = new value for extended control register
  455.              Bit 0  Screen resolution (0: 200 lines, 1: 400)
  456.                  1  Underline enable (if set 'blue' bit of ForeGround color is
  457.                     the underline bit)
  458.                  2  Font. 0: Standard-8, 1: HP-Roman-8
  459.                  3  Memory disabled for CPU access
  460.                  4  Allow access to full 32K memory rather than wrap at 16K
  461.                  5  Select 2nd 16K page rather than first
  462. Note: this function is only valid when an HP MultiMode Video Display Adapter
  463.       is installed. The Extended Control register is at I/O address 3DDh
  464. ----------106F03-----------------------------
  465. INT 10 - VIDEO - HP Vectra (Video7 ?) - Modify Monitor Info
  466.         AX = 6F03h
  467.         BH = Exclude mask (set bits are not modified)
  468.         BL = new value for bits indicated in BH
  469.              Result = ((old value) and BH) or ((not BH) and BL)
  470. Note: This function is only valid when an HP MultiMode Video Display Adapter
  471.       is installed
  472. ----------106F04-----------------------------
  473. INT 10 - VIDEO - Get Mode and Screen Resolution (Video7 VGA, VEGA VGA)
  474.         AX = 6F04h
  475. Return: AL = current video mode (see AX=6F05h)
  476.         BX = horizontal columns (text) or pixels (graphics)
  477.         CX = vertical columns (text) or pixels (graphics)
  478. ----------106F05-----------------------------
  479. INT 10 - VIDEO - Set Video Mode (Video7 VGA, VEGA EXTENDED EGA/VGA)
  480.         AX = 6F05h
  481.         BL = mode:
  482.               00h-13h = standard IBM modes (see AH=00h)
  483.               40h-6Ah = see table above.
  484. ----------106F06-----------------------------
  485. INT 10 - VIDEO - SELECT AUTOSWITCH MODE (V7VGA,VEGA VGA)
  486.         AX = 6F06h
  487.         BL = Autoswitch mode select
  488.              00h select EGA/VGA-only modes
  489.              01h select Autoswitched VGA/EGA/CGA/MGA modes
  490.              02h select 'bootup' CGA/MGA modes
  491.         BH = enable/disable (00h enable, 01h = disable selection)
  492. ----------106F07-----------------------------
  493. INT 10 - VIDEO - GET VIDEO MEMORY CONFIGURATION (V7VGA,VEGA VGA)
  494.         AX = 6F07h
  495. Return: AL = 6Fh
  496.         AH = bits 0-6 = number of 256K blocks of video memory
  497.              bit 7    = DRAM/VRAM (0: DRAM, 1: VRAM)
  498.         BH = chip revision (SR8F) (S/C Chip in VEGA VGA)
  499.         BL = chip revision (SR8E) (G/A Chip in VEGA VGA)
  500.         CX = 0000h
  501.